c#中override关键字

您所在的位置:网站首页 new 子类 c#中override关键字

c#中override关键字

2023-03-25 09:21| 来源: 网络整理| 查看: 265

c#中override关键字_c++override 思创斯忠实用户-ss • 2023年3月23日 16:31 • 未分类

c#中override关键字_c++override重载、重写、覆写,分别指的是overload、override、new。一、override重写,是在子类中重写父类中的方法,两个函数的函数特征(函数名、参数类型与个数)相同。用于扩展或修改继承的方法、属性、索引器或事件的抽象或虚拟实现。提供从基类继承的成员的新实现,而通过override声明重写的方法称为基方法。 注意事项: 1.重写基方法必须具有与override方法相同的签名。 …

大家好,我是你的好朋友思创斯。今天说一说c#中override关键字_c++override,希望您对编程的造诣更进一步.

重载、重写、覆写,分别指的是overload、override、new。

一、override重写,是在子类中重写父类中的方法,两个函数的函数特征(函数名、参数类型与个数)相同。用于扩展或修改继承的方法、属性、索引器或事件的抽象或虚拟实现。提供从基类继承的成员的新实现,而通过override声明重写的方法称为基方法。 

注意事项:  1.重写基方法必须具有与override方法相同的签名。  2.override声明不能更改virtual方法的可访问性,且override方法与virtual方法必须具有相同级别访问修饰符。  3.不能用new、static、virtual修饰符修改override方法。  4.重写属性声明必须指定与继承的属性完全相同的访问修饰符、类型和名称。  5.重写的属性必须是virtual、abstract或override。  6.不能重写非虚方法或静态方法。  7.父类中有abstract,那么子类同名方法必定有override,若父类中有 virtual方法,子类同名方法不一定是override,可能是overload。  8.override必定有父子类关系。

二、overload重载,在同一个类中方法名相同、参数或返回值不同的多个方法即为方法重载。 注意事项:  1.出现在同一个类中。  2.参数列表不同或返回类型和参数列表都不同,只有返回类型不同不能重载。(参数列表包括参数个数和参数类型)

三、overwrite覆写,用new实现。在子类中用 new 关键字修饰定义的与父类中同名的方法,也称为覆盖,覆盖不会改变父类方法的功能。 ——————

class Parent { public void F() { Console.WriteLine("Parent.F()"); } public virtual void G() //抽象方法 { Console.WriteLine("Parent.G()"); } public int Add(int x, int y) { return x + y; } public float Add(float x, float y) //重载(overload)Add函数 { return x + y; } } class ChildOne:Parent //子类一继承父类 { new public void F() //重写(overwrite)父类函数 { Console.WriteLine("ChildOne.F()"); } public override void G() //覆写(override)父类虚函数,主要实现多态 { Console.WriteLine("ChildOne.G()"); } } class ChildTwo:Parent //子类二继承父类 { new public void F() { Console.WriteLine("ChildTwo.F()"); } public override void G() { Console.WriteLine("ChildTwo.G()"); } } class Program { static void Main(string[] args) { Parent childOne = new ChildOne(); Parent childTwo = new ChildTwo(); //调用Parent.F() childOne.F(); childTwo.F(); //实现多态 childOne.G(); childTwo.G(); Parent load = new Parent(); //重载(overload) Console.WriteLine(load.Add(1, 2)); Console.WriteLine(load.Add(3.4f, 4.5f)); Console.Read(); } } --------------------- 作者:入秋枫叶 来源:CSDN 原文:https://blog.csdn.net/yiyelanxin/article/details/71711383 版权声明:本文为博主原创文章,转载请附上博文链接!

—  作者:入秋枫叶  来源:CSDN  原文:https://blog.csdn.net/yiyelanxin/article/details/71711383  版权声明:本文为博主原创文章,转载请附上博文链接!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由思创斯整理,转载请注明出处:https://ispacesoft.com/111333.html

赞 (0) 思创斯忠实用户-ss思创斯忠实用户-ss 0 0 生成海报


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3